package org.gd.hellojaxb.privat24.regular;

import org.gd.hellojaxb.adapters.DateAdaptersFactory;
import org.gd.hellojaxb.adapters.DoubleAdaptersFactory;

import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.*;
import java.util.Date;


@XmlRootElement(name = "id")
@XmlAccessorType(XmlAccessType.FIELD)
@SuppressWarnings({"deprecation", "unused"})
public class GetRegularPayResponseItem {

    @XmlAttribute(name = "RpId")
    private Long id;
    @XmlAttribute(name = "RpTitle")
    private String title;
    @XmlAttribute(name = "RpCrDate")
    @XmlJavaTypeAdapter(DateAdaptersFactory.StatementsDateFormat.class)
    private Date dateCreate;
    @XmlAttribute(name = "RpLsDate")
    @XmlJavaTypeAdapter(DateAdaptersFactory.StatementsDateFormat.class)
    private Date dateLastPay;
    @XmlAttribute(name = "RpNxtDate")
    @XmlJavaTypeAdapter(DateAdaptersFactory.StatementsDateFormat.class)
    private Date dateNextPay;
    @XmlAttribute(name = "RpBranch")
    private String branch;
    @XmlAttribute(name = "RpState")
    private String state;
    @XmlAttribute(name = "RpCrLdap")
    private String ldap;
    @XmlAttribute(name = "RpSrcCard")
    private String sourceCard;
    @XmlAttribute(name = "RpCurrency")
    private String currency;
    @XmlAttribute(name = "RpAmount")
    @XmlJavaTypeAdapter(DoubleAdaptersFactory.Amount.class)
    private Double amount;
    @XmlAttribute(name = "RpPaymPurpose")
    private String purpose;
    @XmlAttribute(name = "RpDestAcc")
    private String destinationAccount;
    @XmlAttribute(name = "RpDestCard")
    private String destinationCard;
    @XmlAttribute(name = "RpDestName")
    private String destinationName;
    @XmlAttribute(name = "RpDestOkpo")
    private Long destinationOkpo;
    @XmlAttribute(name = "RpDestMfo")
    private Long destinationMfo;
    @XmlAttribute(name = "CR_DATE")
    @Deprecated
    private String dateCreateString;
    @XmlAttribute(name = "ExtRefType")
    private String extRefType;
    @XmlAttribute(name = "Period")
    private String period;
    @XmlAttribute(name = "error_code")
    private String errorCode;
    @XmlAttribute(name = "err_mess")
    private String errorMessage;

    public GetRegularPayResponseItem() {
    }

    public Long getId() {
        return id;
    }

    public GetRegularPayResponseItem setId(Long id) {
        this.id = id;
        return this;
    }

    public String getTitle() {
        return title;
    }

    public GetRegularPayResponseItem setTitle(String title) {
        this.title = title;
        return this;
    }

    public Date getDateCreate() {
        return dateCreate;
    }

    public GetRegularPayResponseItem setDateCreate(Date dateCreate) {
        this.dateCreate = dateCreate;
        return this;
    }

    public Date getDateLastPay() {
        return dateLastPay;
    }

    public GetRegularPayResponseItem setDateLastPay(Date dateLastPay) {
        this.dateLastPay = dateLastPay;
        return this;
    }

    public Date getDateNextPay() {
        return dateNextPay;
    }

    public GetRegularPayResponseItem setDateNextPay(Date dateNextPay) {
        this.dateNextPay = dateNextPay;
        return this;
    }

    public String getBranch() {
        return branch;
    }

    public GetRegularPayResponseItem setBranch(String branch) {
        this.branch = branch;
        return this;
    }

    public String getState() {
        return state;
    }

    public GetRegularPayResponseItem setState(String state) {
        this.state = state;
        return this;
    }

    public String getLdap() {
        return ldap;
    }

    public GetRegularPayResponseItem setLdap(String ldap) {
        this.ldap = ldap;
        return this;
    }

    public String getSourceCard() {
        return sourceCard;
    }

    public GetRegularPayResponseItem setSourceCard(String sourceCard) {
        this.sourceCard = sourceCard;
        return this;
    }

    public String getCurrency() {
        return currency;
    }

    public GetRegularPayResponseItem setCurrency(String currency) {
        this.currency = currency;
        return this;
    }

    public Double getAmount() {
        return amount;
    }

    public GetRegularPayResponseItem setAmount(Double amount) {
        this.amount = amount;
        return this;
    }

    public String getPurpose() {
        return purpose;
    }

    public GetRegularPayResponseItem setPurpose(String purpose) {
        this.purpose = purpose;
        return this;
    }

    public String getDestinationAccount() {
        return destinationAccount;
    }

    public GetRegularPayResponseItem setDestinationAccount(String destinationAccount) {
        this.destinationAccount = destinationAccount;
        return this;
    }

    public String getDestinationCard() {
        return destinationCard;
    }

    public GetRegularPayResponseItem setDestinationCard(String destinationCard) {
        this.destinationCard = destinationCard;
        return this;
    }

    public String getDestinationName() {
        return destinationName;
    }

    public GetRegularPayResponseItem setDestinationName(String destinationName) {
        this.destinationName = destinationName;
        return this;
    }

    public Long getDestinationOkpo() {
        return destinationOkpo;
    }

    public GetRegularPayResponseItem setDestinationOkpo(Long destinationOkpo) {
        this.destinationOkpo = destinationOkpo;
        return this;
    }

    public Long getDestinationMfo() {
        return destinationMfo;
    }

    public GetRegularPayResponseItem setDestinationMfo(Long destinationMfo) {
        this.destinationMfo = destinationMfo;
        return this;
    }

    public String getDateCreateString() {
        return dateCreateString;
    }

    public GetRegularPayResponseItem setDateCreateString(String dateCreateString) {
        this.dateCreateString = dateCreateString;
        return this;
    }

    public String getExtRefType() {
        return extRefType;
    }

    public GetRegularPayResponseItem setExtRefType(String extRefType) {
        this.extRefType = extRefType;
        return this;
    }

    public String getPeriod() {
        return period;
    }

    public GetRegularPayResponseItem setPeriod(String period) {
        this.period = period;
        return this;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
}
